//说一下JS事件代理（也称事件委托）是什么，及实现原理？
//答：JS事件代理就是通过给父级元素（例如：ul）绑定事件，
// 不给子级元素(例如：li)绑定事件，然后当点击子级元素时，
// 通过事件冒泡机制在其绑定的父元素上触发事件处理函数，
// 主要目的是为了提升性能，因为我不用给每个子级元素绑定事件，
// 只给父级元素绑定一次就好了,在原生js里面是通过event对象的targe属性实现
var ul = document.querySelector("ul");
ul.onclick = function(e) { //e指event,事件对象
    var target = e.target || e.srcElement; //target获取触发事件的目标(li)
    if (target.nodeName.toLowerCase() == 'li') { //目标(li)节点名转小写字母，不转的话是大写字母
        alert(target.innerHTML)
    }
}